home *** CD-ROM | disk | FTP | other *** search
GNU Info File | 1995-09-01 | 33.1 KB | 787 lines |
- This is Info file ../info/hyperbole.info, produced by Makeinfo-1.63
- from the input file hyperbole.texi.
-
- File: hyperbole.info, Node: Embedding Hyperbole, Prev: Encapsulating Systems, Up: Developing with Hyperbole
-
- Embedding Hyperbole
- ===================
-
- [NOTE: We have never done this ourselves, though we have done similar
- things which leads us to infer that the task should not be difficult.]
-
- The standard Emacs-based Hyperbole user interface has purposely been
- separated from the Hyperbole backend to support the development of
- alternative interfaces and the embedding of Hyperbole functionality
- within other system prototypes. The Hyperbole backend functionality
- that system developers can make use of is called its Application
- Programming Interface (API). The API may be used to make server-based
- calls to Hyperbole when Emacs is run as a non-interactive (batch)
- process, with its input/output streams attached to another process.
-
- The public functions and variables from the following files may be
- considered the present Hyperbole API:
-
- `hact.el', `hargs.el', `hbmap.el', `hbut.el', `hhist.el', `hmail.el',
- `hmoccur.el', `hpath.el', `htz.el', `hypb.el', `set.el', `wconfig.el',
- `wrolo.el', and `wrolo-logic.el'.
-
- (Note that within a class definition, functions and variables that
- follow a line of dashes are private.)
-
- File: hyperbole.info, Node: Glossary, Next: Smart Key Reference, Prev: Developing with Hyperbole, Up: Top
-
- Glossary
- ********
-
- Concepts pertinent to operational usage of Hyperbole are defined
- here. If some GNU Emacs terms are unfamiliar to you, see *Note Emacs
- Glossary: (emacs)Glossary.
-
- `action'
- An executable behavior associated with a Hyperbole button. A
- specific class of actions which display entities are called
- *links*, such as a link to a file.
-
- `Action Key'
- See *Smart Key*.
-
- `action type'
- A behavioral specification for use within Hyperbole buttons.
- Action types usually contain a set of parameters which must be
- given values for each button with which they are associated. An
- action type together with a set of values, called arguments, may
- be considered an *action*. *Actype* is a synonym for action type.
-
- `activation'
- Request for a Hyperbole button to perform its action. Ordinarily
- the user presses a key which selects and activates a button.
-
- `ange-ftp'
- A standard GNU Emacs Lisp package which allows one to use pathnames
- that are accessible via the Internet File Transfer Protocol (ftp)
- just like other pathnames, for example when finding a file. The
- latest version of ange-ftp may always be obtained via anonymous
- ftp to: `/ftp.gnu.ai.mit.edu:ange-ftp/ange-ftp.tar.gz'.
-
- `argument'
- A button-specific value fed to a Hyperbole type specification when
- the button is activated.
-
- `Assist Key'
- See *Smart Key*.
-
- `attributes'
- Slot names associated with Hyperbole buttons. An *attribute value*
- is associated with each button attribute.
-
- `button'
- A selectable Hyperbole construct which performs an action. A
- button consists of a set of attributes that includes: a textual
- label, a category, a type and zero or more arguments. *Explicit
- buttons* also have creator, create time, last modifier, and last
- modifier time attributes.
-
- Buttons provide the user's gateway to information. The user sees
- and interacts with button labels, the rest of the button data is
- managed invisibly by Hyperbole and displayed only in response to
- user queries.
-
- `button activation'
- See *activation*.
-
- `button attributes'
- See *attributes*.
-
- `button data'
- Lists of button attribute values explicitly saved and managed by
- Hyperbole. One list for each button created by Hyperbole.
-
- `button file, local'
- A per-directory file named `HYPB' that may be used to store any
- desired buttons and may then be displayed via a menu selection
- whenever a user is within that directory.
-
- `button file, personal'
- A per-user file named `HYPB' that may be used to store any desired
- buttons and may then be displayed via a menu selection.
-
- `button key'
- A normalized form of a *button label* used internally by Hyperbole.
-
- `button label'
- A text string that visually indicates a Hyperbole button location
- and provides it with a name and unique identifier. Within a
- buffer, buttons with the same label are considered separate views
- of the same button and so behave exactly alike. Since button
- labels are simply text strings, they may be embedded within any
- text to provide non-linear information or operational access
- points.
-
- The maximum length of a button label is limited by the variable
- EBUT:MAX-LEN.
-
- `button selection'
- The act of designating a Hyperbole button upon which to operate.
- Use the Action Key to select a button.
-
- `category'
- A high-level, conceptual grouping of Hyperbole buttons into
- classes. *Implicit* and *explicit* groupings represent categories.
-
- `class'
- A group of functions and variables with the same prefix in their
- names, used to provide an interface to an internal or external
- Hyperbole abstraction.
-
- `context'
- A programmatic or positional state recognized by Hyperbole. We
- speak of Smart Key and implicit button contexts. Both are
- typically defined in terms of surrounding patterns within a
- buffer, but may be defined by arbitrary Emacs Lisp predicates.
- (Context may come to have a broader meaning within future versions
- of Hyperbole.)
-
- `environment'
- See *Hyperbole environment*.
-
- `efs'
- The much larger successor to ange-ftp. It does the same thing as
- ange-ftp but works with more types of ftp hosts. See *ange-ftp*.
-
- `explicit button'
- A button created and managed by Hyperbole. By default, explicit
- buttons are delimited like this `<(fake button)>'. Direct
- selection is used to operate upon an explicit button.
-
- `global button'
- A form of explicit button which is typically accessed by name
- rather than direct selection. Global buttons are useful when one
- wants quick access to actions such as jumping to common file
- locations or for performing sequences of operations. One need not
- locate them since they are always available by name, with full
- completion offered. All global buttons are stored in the file
- given by the variable GBUT:FILE and may be activated as regular
- explicit buttons by visiting this file. By default, this is the
- same as the user's personal button file.
-
- `global button file'
- See *button file, personal*.
-
- `hook variable'
- A variable that permits customization of an existing function's
- operation without the need to edit the function's code. See also
- the documentation for the function `(run-hooks)'.
-
- `Hyperbole'
- A flexible, programmable information management and viewing system
- built on top of GNU Emacs. It utilizes a button-action model and
- supports hypertextual linkages. Hyperbole is all things to all
- people.
-
- `Hyperbole environment'
- A programmatic context within which Hyperbole operates. This
- includes the set of Hyperbole types defined and the set of
- Hyperbole code modules loaded. It does not include the set of
- accessible buttons. Although the entire Emacs environment is
- available to Hyperbole, we do not speak of this as part of the
- Hyperbole environment.
-
- `hypertext'
- A text or group of texts which may be explored in a non-linear
- fashion through associative linkages embedded throughout the text.
- Instead of simply referring to other pieces of work, hypertext
- references when followed actually take you to the works themselves.
-
- `implicit button'
- A button recognized contextually by Hyperbole. Such buttons
- contain no button data. See also *implicit button type*.
-
- `implicit button type'
- A specification of how to recognize and activate implicit buttons
- of a specific kind. Implicit button types often utilize structure
- internal to documents created and managed without Hyperbole
- assistance, for example, programming documentation. *Ibtype* is a
- synonym for implicit button type. See also *system encapsulation*.
-
- `instance number'
- A colon prefaced number appended to the label of a newly created
- button when the button's label duplicates the label of an existing
- button in the current buffer. This number makes the label unique
- and so allows any number of buttons with the same base label
- within a single buffer.
-
- `link'
- A reference from a Hyperbole button to an entity. The referenced
- entity is sometimes called a *node* or *referent*. A specific
- class of actions which display entities are called *links*, such
- as a link to a file.
-
- `local button file'
- See *button file, local*.
-
- `mouse button'
- `mouse key'
- See *Smart Key*.
-
- `node'
- See *link*.
-
- `predicate'
- A boolean (nil = false, non-nil = true) Lisp expression typically
- evaluated as part of a conditional expression.
-
- `referent'
- See *link*.
-
- `Smart Key'
- A context-sensitive key used within Hyperbole and beyond.
- Actually, there are two Smart Keys, the Action Key and the Assist
- Key. The Action Key, typically bound to the shift-middle mouse
- key (or shift-left mouse key on a 2-button mouse), activates
- Hyperbole buttons and scrolls the buffer forward a windowful when
- pressed at the end of a line. The Assist Key, typically bound to
- the shift-right mouse key, explains what a Hyperbole button does
- or scrolls the buffer backward a windowful when pressed at the end
- of a line.
-
- To see what a Smart Key will do within a particular context,
- depress and hold the key at the point desired and depress the
- other Smart Key. A buffer containing a description of its
- contextual function will then be displayed. You may release the
- two keys in any order after you have them both depressed. A press
- of the Assist Key in an unsupported context displays a summary of
- Smart Key functions in each context, as does the Doc/SmartKy menu
- item.
-
- `source buffer / file'
- The buffer or file within which a Hyperbole button is embedded.
-
- `system encapsulation'
- Use of Hyperbole to provide an improved or simply consistent user
- interface to another system. Typically, implicit button types are
- defined to recognize and activate button-type constructs managed
- by the other system.
-
- `view'
- A perspective on some information. A view can affect the extent
- of the information displayed, its format, modes used to operate on
- it, its display location and so forth.
-
- `view spec'
- A terse (and to the uninitiated, cryptic) string that specifies a
- particular view of a link referent or some other information.
-
- File: hyperbole.info, Node: Smart Key Reference, Next: Outliner Keys, Prev: Glossary, Up: Top
-
- Smart Key Reference
- *******************
-
- This appendix supplies complete documentation on Smart Key
- operation. It is quite extensive and is meant for reference rather
- than sequential reading. *Note Smart Keys::, for a description of the
- Smart Keys. That section also describes how to get context-sensitive
- Smart Key help, with which you can explore Smart Key operation bit by
- bit.
-
- Smart Key operations are context-sensitive. Contexts are described
- herein as conditionals, e.g. when depressed here, if this is true, etc.
- Each Smart Key context is listed in the order in which it will be
- checked. The first matching context is always the one applied. Within
- each context, the actions performed by the Action and Assist Keys are
- listed.
-
- * Menu:
-
- * Smart Mouse Keys::
- * Smart Keyboard Keys::
-
- File: hyperbole.info, Node: Smart Mouse Keys, Next: Smart Keyboard Keys, Prev: Smart Key Reference, Up: Smart Key Reference
-
- Smart Mouse Keys
- ================
-
- Smart Key drags and modeline presses can only be used when running
- under a window system with mouse key support. So keep in mind that the
- operations in this section apply only if you have mouse support within
- Hyperbole. The Smart Key operations in, *Note Smart Keyboard Keys::,
- apply to both mouse and keyboard Smart Key usage.
-
- If dragged from a side-by-side window edge or from the immediate left of
- a vertical scroll bar:
- ACTION or ASSIST
- Resizes adjacent window sides to the point of drag release.
-
- If dragged from inside one window to another:
- ACTION
- Creates a new link button at the drag start location, linked to the
- drag end location. If drag start position is within a button,
- modifies the button to link to drag end location.
- ASSIST
- Swaps buffers in the two windows.
-
- If dragged horizontally within a single window while depressed
- (hmouse-x-drag-sensitivity sets the minimal horizontal movement which
- registers a drag):
- ACTION
- Goes to buffer end if drag was to the right, otherwise goes to beginning.
- ASSIST
- Splits window vertically if drag was to the right, otherwise deletes
- window.
-
- If depressed within a window mode line:
- ACTION
- (1) clicked on left edge of a window's modeline,
- window's buffer is buried (placed at bottom of buffer list);
- (2) clicked on right edge of a window's modeline,
- the Info buffer is displayed, or if already displayed and the
- modeline clicked belongs to a window displaying Info, the Info
- buffer is hidden;
- (3) clicked anywhere in the middle of a window's modeline,
- the functions listed in 'assist-key-modeline-hook' are
- called;
- (4) dragged vertically from modeline to within a window,
- the modeline is moved to point of key release, thereby resizing
- its window and potentially its vertical neighbors.
- ASSIST
- (1) clicked on left edge of a window's modeline,
- bottom buffer in buffer list is unburied and placed in window;
- (2) clicked on right edge of a window's modeline,
- the summary of Smart Key behavior is displayed, or if already
- displayed and the modeline clicked belongs to a window displaying
- the summary, the summary buffer is hidden;
- (3) clicked anywhere in the middle of a window's modeline,
- a popup menu (if available) is displayed;
- (4) dragged vertically from modeline to within a window,
- the modeline is moved to point of key release, thereby resizing
- its window and potentially its vertical neighbors.
-
- If dragged vertically within a single window while depressed
- (hmouse-y-drag-sensitivity sets the minimal vertical movement which
- registers a drag):
- ACTION or ASSIST
- Splits current window into two side-by-side windows.
-
- If dragged diagonally within a single window while depressed
- (hmouse-x-diagonal-sensitivity and hmouse-y-diagonal-sensitivity set the
- minimal diagonal movement which registers a drag):
- ACTION
- Save current window configuration onto a ring of window configurations.
- ASSIST
- Restores prior window configuration from ring. A prefix argument N
- specifies the Nth prior configuration from the ring.
-
- File: hyperbole.info, Node: Smart Keyboard Keys, Prev: Smart Mouse Keys, Up: Smart Key Reference
-
- Smart Keyboard Keys
- ===================
-
- When prompting for a Hyperbole argument, a press in the minibuffer:
- ACTION
- Terminates this minibuffer argument.
- ASSIST
- Offers completion help for current minibuffer argument.
-
- When reading a Hyperbole menu item or a Hyperbole completion-based argument:
- ACTION
- Returns value selected at point if any, else nil. If
- value is the same as the contents of the minibuffer, it is used as the
- current minibuffer argument, otherwise, the minibuffer is erased and
- value is inserted there.
-
- ASSIST
- Displays Hyperbole menu item help when item is selected.
-
- When pressed at the end of a line but not the end of a buffer:
- ACTION
- Scrolls up according to value of smart-scroll-proportional. If
- smart-scroll-proportional is nil (the default) or if point is on the top
- window line, scrolls up (forward) a windowful. Otherwise, tries to
- bring current line to top of window. Leaves point at end of line and
- returns t if scrolled, nil if not.
- ASSIST
- Scrolls down according to value of smart-scroll-proportional. If
- smart-scroll-proportional is nil (the default) or if point is on the
- bottom window line, scrolls down (backward) a windowful. Otherwise,
- tries to bring current line to bottom of window. Leaves point at end of
- line and returns t if scrolled, nil if not.
-
- When pressed on a Hyperbole button:
- ACTION
- Activates button.
- ASSIST
- Displays help for button, typically a summary of its attributes.
-
- If pressed within a buffer in View major or minor mode:
- ACTION
- Scrolls buffer forward a windowful and quits from view mode when at
- the last line of the buffer.
- ASSIST
- Scrolls buffer backward a windowful.
-
- When pressed within a Hyperbole outliner buffer (kotl-mode):
- ACTION
- (1) at the end of buffer, uncollapse and unhide all cells in view;
- (2) within a cell, if its subtree is hidden then show it,
- otherwise hide it;
- (3) between cells or within the read-only indentation region to the
- left of a cell, then move point to prior location and begin
- creation of a klink to some other outline cell; hit the Action
- Key twice to select the link referent cell;
- (4) anywhere else, scroll up a windowful.
- ASSIST
- (1) at the end of buffer, collapse all cells and hide all non-level-one
- cells;
- (2) on a header line but not at the beginning or end, display
- properties of each cell in kotl beginning at point;
- (3) between cells or within the read-only indentation region to the
- left of a cell, then move point to prior location and prompt to
- move one tree to a new location in the outline; hit the Action
- Key twice to select the tree to move and where to move it;
- (4) anywhere else, scroll down a windowful.
-
- When pressed on a Smart Menu item:
- ACTION
- Activates item.
- ASSIST
- Displays help for item.
-
- When pressed at the end of a Help buffer:
- ACTION or ASSIST
- Restores window configuration prior to help display.
-
- When pressed within an OO-Browser listing window:
- ACTION
- (1) in a blank buffer or at the end of a buffer, browser help
- information is displayed in the viewer window;
- (2) at the beginning of a (non-single char) class name, the class'
- ancestors are listed;
- (3) at the end of an entry line, scrolls listing up;
- (4) on the '...', following a class name, point is moved to the class
- descendency expansion;
- (5) before an element name, the implementor classes of the name are
- listed;
- (6) anywhere else on an entry line, the source is displayed for editing.
- ASSIST
- (1) in a blank buffer, a selection list of buffer files is displayed;
- (2) at the beginning of a (non-single char) entry, the class'
- descendants are listed;
- (3) at the end of an entry line, scrolls listing down;
- (4) on the '...', following a class name, point is moved to the class
- expansion;
- (5) anywhere else on a class entry line, lists the class' elements;
- (6) anywhere else on an element line, lists the element's implementor
- classes;
- (7) on a blank line following all entries, the current listing buffer
- is exited.
-
- When pressed within an OO-Browser Command Help Menu buffer:
- ACTION
- Executes an OO-Browser command whose key binding is at point.
- ASSIST
- Displays help for an OO-Browser command whose key binding is at point.
-
- When pressed on an identifier within an OO-Browser source file:
- ACTION
- Tries to display identifier definition.
- ASSIST
- Not applicable.
-
- When pressed within a C source code file:
- ACTION
- Jumps to the definition of selected C construct:
- (1) on a '#include' statement, the include file is displayed;
- Look for include file in directory lists
- 'smart-c-cpp-include-dirs' and 'smart-c-include-dirs'.
- (2) on a C identifier, the identifier definition is displayed,
- assuming the identifier is found within an 'etags' generated tag file
- in the current directory or any of its ancestor directories.
- (3) if 'smart-c-use-lib-man' is non-nil, the C identifier is
- recognized as a library symbol, and a man page is found for the
- identifier, then the man page is displayed.
- ASSIST
- Jumps to the next tag matching an identifier at point.
-
- When pressed within an assembly source code file:
- ACTION
- Jumps to the definition of selected assembly construct:
- (1) on an include statement, the include file is displayed;
- Look for include file in directory list
- 'smart-asm-include-dirs'.
- (2) on an identifier, the identifier definition is displayed,
- assuming the identifier is found within an 'etags' generated
- tag file in the current directory or any of its ancestor
- directories.
- ASSIST
- Jumps to the next tag matching an identifier at point.
-
- When pressed within a C++ source code file:
- ACTION
- Jumps to the definition of selected C+ construct:
- (1) on a '#include' statement, the include file is displayed;
- Look for include file in directory lists
- 'smart-c-cpp-include-dirs' and 'smart-c-include-dirs'.
- (2) on a C++ identifier, the identifier definition is displayed,
- assuming the identifier is found within an 'etags' generated tag file
- in the current directory or any of its ancestor directories.
- (3) if 'smart-c-use-lib-man' is non-nil, the C++ identifier is
- recognized as a library symbol, and a man page is found for the
- identifier, then the man page is displayed.
- ASSIST
- Jumps to the next tag matching an identifier at point.
-
- When pressed within a Objective-C source code file:
- ACTION
- Jumps to the definition of selected C+ construct:
- (1) on a '#include' statement, the include file is displayed;
- Look for include file in directory lists
- 'smart-c-cpp-include-dirs' and 'smart-c-include-dirs'.
- (2) on an Objective-C identifier, the identifier definition is displayed,
- assuming the identifier is found within an 'etags' generated tag file
- in the current directory or any of its ancestor directories.
- (3) if 'smart-c-use-lib-man' is non-nil, the Objective-C identifier is
- recognized as a library symbol, and a man page is found for the
- identifier, then the man page is displayed.
- ASSIST
- Jumps to the next tag matching an identifier at point.
-
- When pressed on a Lisp symbol within a Lisp code buffer:
- ACTION
- Jumps to the definition of any selected Lisp construct.
- If on an Emacs Lisp require, load, or autoload clause and 'find-library'
- from load-library package by Hallvard Furuseth <hallvard@ifi.uio.no> has
- been loaded, jumps to library source, if possible.
- ASSIST
- Jumps to the next tag matching an identifier at point or if using the
- "wtags" package and identifier is an Emacs Lisp symbol, then displays
- documentation for the symbol.
-
- When the OO-Browser has been loaded and the press is within a C++ buffer:
- ACTION or ASSIST
- Jumps to the definition of selected C++ construct via OO-Browser support.
- (1) on a '#include' statement, the include file is displayed;
- Look for include file in directory lists
- 'smart-c-cpp-include-dirs' and 'smart-c-include-dirs'.
- (2) within a method declaration, its definition is displayed;
- (3) on a class name, the class definition is shown.
-
- When the OO-Browser has been loaded and the press is within a
- Objective-C buffer:
- ACTION or ASSIST
- Jumps to the definition of selected Objective-C construct via
- OO-Browser support.
- (1) on a '#include' statement, the include file is displayed;
- Look for include file in directory lists
- 'smart-c-cpp-include-dirs' and 'smart-c-include-dirs'.
- (2) within a method declaration, its definition is displayed;
- (3) on a class name, the class definition is shown.
-
- When pressed within an occur-mode or moccur-mode buffer:
- ACTION or ASSIST
- Jumps to the source buffer and line of the current occurrence.
-
- When pressed within a calendar-mode buffer:
- ACTION
- (1) at the end of the buffer, the calendar is scrolled forward 3 months;
- (2) to the left of any dates on a calendar line, the calendar is scrolled
- backward 3 months;
- (3) on a date, the diary entries for the date, if any, are displayed.
- ASSIST
- (1) at the end of the buffer, the calendar is scrolled backward 3 months;
- (2) to the left of any dates on a calendar line, the calendar is scrolled
- forward 3 months;
- (3) anywhere else, all dates with marking diary entries are marked in the
- calendar window.
-
- When pressed within a man page apropos buffer:
- ACTION
- (1) on a UNIX man apropos entry, the man page for that entry is
- displayed in another window;
- (2) on or after the last line, the buffer in the other window is
- scrolled up a windowful.
- ASSIST
- (1) on a UNIX man apropos entry, the man page for that entry is
- displayed in another window;
- (2) on or after the last line, the buffer in the other window is
- scrolled down a windowful.
-
- If Smart Menu package has been loaded and 'hkey-always-display-menu' is
- non-nil:
- ACTION or ASSIST
- Pops up a window with a Smart Menu of commands.
- Menu displayed is selected by (smart-menu-choose-menu).
-
- If pressed within an outline-mode buffer or when 'selective-display' is
- non-nil:
- ACTION
- Collapses, expands, and moves outline entries.
- (1) after an outline heading has been cut via the Action Key, then paste
- the cut heading at point;
- (2) at the end of buffer, show all buffer text
- (3) at the beginning of a heading line, cut the headings subtree from the
- buffer;
- (4) on a header line but not at the beginning or end, if headings
- subtree is hidden then show it, otherwise hide it;
- (5) anywhere else, scroll up a windowful.
- ASSIST
- (1) after an outline heading has been cut via the Action Key, allow
- multiple pastes throughout the buffer (last paste should be done
- with the Action Key, not the Assist Key);
- (2) at the end of buffer, hide all bodies in buffer;
- (3) at the beginning of a heading line, cut the current heading (sans
- subtree) from the buffer;
- (4) on a header line but not at the beginning or end, if heading body is
- hidden then show it, otherwise hide it;
- (5) anywhere else, scroll down a windowful.
-
- If pressed within an Info manual node:
- ACTION
- (1) the first line of an Info Menu Entry or Cross Reference, the desired
- node is found;
- (2) the Up,Next,or Previous entries of a Node Header (first line),
- the desired node is found;
- (3) the File entry of a Node Header (first line),
- the 'Top' node within that file is found;
- (4) at the end of the current node, the Next node is found (this will
- descend subtrees if the function 'Info-global-next' is bound);
- (5) anywhere else (e.g. at the end of a line), the current node entry is
- scrolled up a windowful.
- ASSIST
- (1) the first line of an Info Menu Entry or Cross Reference, the desired
- node is found;
- (2) the Up,Next,or Previous entries of a Node Header (first line),
- the last node in the history list is found;
- (3) the File entry of a Node Header (first line),
- the 'DIR' root-level node is found;
- (4) at the end of the current node, the Previous node is found (this will
- return from subtrees if the function 'Info-global-prev is bound);
- (5) anywhere else (e.g. at the end of a line), the current node entry is
- scrolled down a windowful.
-
- If pressed within a Hyperbole-supported mail reader, 'hmail:reader', or mail
- summary mode, 'hmail:lister', buffer at:
- ACTION
- (1) a msg buffer, within the first line or at the end of a message,
- the next undeleted message is displayed;
- (2) a msg buffer within the first line of an Info cross reference, the
- reference is followed;
- (3) anywhere else in a msg buffer, the window is scrolled up one
- windowful;
- (4) a msg summary buffer on a header entry, the message corresponding to
- the header is displayed in the msg window;
- (5) a msg summary buffer, on or after the last line, the messages marked
- for deletion are expunged.
- ASSIST
- (1) a msg buffer, within the first line or at the end of a message,
- the previous undeleted message is displayed;
- (2) a msg buffer within the first line of an Info cross reference, the
- reference is followed;
- (3) anywhere else in a msg buffer, the window is scrolled down one
- windowful;
- (4) a msg summary buffer on a header entry, the message corresponding to
- the header is marked as deleted;
- (5) a msg summary buffer, on or after the last line, all messages are
- marked undeleted.
-
- If pressed within a GNUS listing of newsgroups buffer at:
- ACTION
- (1) a GNUS-GROUP line, that newsgroup is read;
- (2) to the left of any GNUS-GROUP line, on any of the whitespace, the
- current group is unsubscribed or resubscribed;
- (3) at the end of the GNUS-GROUP buffer, after all lines, checks for new
- news.
- ASSIST
- (1) a GNUS-GROUP line, that newsgroup is read;
- (2) to the left of any GNUS-GROUP line, on any of the whitespace, the
- user is prompted for a group name to subscribe or unsubscribe to;
- (3) at the end of the GNUS-GROUP buffer, after all lines, quits from the
- newsreader.
-
- If pressed within a GNUS newsreader subject listing buffer at:
- ACTION
- (1) a GNUS-SUBJECT line, that article is read, marked deleted, and
- scrolled forward;
- (2) at the end of the GNUS-SUBJECT buffer, the next undeleted article
- is read or the next group is entered.
- ASSIST
- (1) a GNUS-SUBJECT line, that article is read and scrolled backward;
- (2) at the end of the GNUS-SUBJECT buffer, the subject is exited, the
- user is returned to group mode.
-
- If pressed within a GNUS newsreader article buffer at:
- ACTION
- (1) the first line or end of an article, the next unread message is
- displayed;
- (2) the first line of an Info cross reference, the reference is followed;
- (3) anywhere else, the window is scrolled up a windowful.
- ASSIST
- (1) the first line or end of an article, the previous message is
- displayed;
- (2) the first line of an Info cross reference, the reference is followed;
- (3) anywhere else, the window is scrolled down a windowful.
-
- If pressed within a listing of buffers (Buffer-menu-mode):
- ACTION
- (1) on the first column of an entry, the selected buffer is marked for
- display;
- (2) on the second column of an entry, the selected buffer is marked to be
- saved;
- (3) anywhere else within an entry line, all saves and deletes are done,
- and selected buffers are displayed, including the one just clicked
- on (if in the OO-Browser, only the selected buffer is displayed);
- (4) on or after the last line in the buffer, all saves and deletes are
- done.
- ASSIST
- (1) on the first or second column of an entry, the selected buffer is
- unmarked for display and for saving or deletion;
- (2) anywhere else within an entry line, the selected buffer is marked for
- deletion;
- (3) on or after the last line in the buffer, all display, save, and delete
- marks on all entries are undone.
-
- If pressed within a dired-mode buffer:
- ACTION
- (1) within an entry line, the selected file/directory is displayed
- for editing in the other window;
- (2) on or after the last line in the buffer, if any deletes are to be
- performed, they are executed after user verification, otherwise, this
- dired invocation is quit.
- ASSIST
- (1) on a '~' character, all backup files in the directory are marked for
- deletion;
- (2) on a '#' character, all auto-save files in the directory are marked
- for deletion;
- (3) anywhere else within an entry line, the current entry is marked for
- deletion;
- (4) on or after the last line in the buffer, all delete marks on all
- entries are undone.
-
- If pressed within a tar-mode buffer:
- ACTION
- (1) within an entry line, the selected file/directory is displayed
- for editing in the other window;
- (2) on or after the last line in the buffer, if any deletes are to be
- performed, they are executed after user verification, otherwise, this
- tar file browser is quit.
- ASSIST
- (1) on an entry line, the current entry is marked for deletion;
- (2) on or after the last line in the buffer, all delete marks on all
- entries are undone.
-
- If pressed on a cross reference within a man page entry section labeled
- NAME, SEE ALSO, or PACKAGES USED, or within a man page C routine
- specification (see 'smart-man-c-routine-ref') and man page buffer
- has either an attached file or else a MAN-PATH local variable
- containing its pathname:
- ACTION or ASSIST
- Displays man page or source code for cross reference.
-
- If pressed within an entry in the wrolo match display buffer:
- ACTION or ASSIST
- The entry is edited in the other window.
-
-